﻿using System;
using CrateMayhem.Common.Model;

namespace CrateMayhem.Common.Services
{
    public interface IGameSettingsService : IService
    {
        event EventHandler ControlsSwitched;
        event EventHandler LevelsReset;
        bool IsControlKeyPress(Func<ControlType, bool> func, ControlType control);
        bool IsMoveKeyPress(Func<MoveType, bool> func, MoveType move);
        ControlsLocationType GetControlsLocation();
        void SwitchControls();
        int FindLastLevel();
        void Save(int level, string moves);
        void ResetLevels();
    }
}